#pragma once


#include "Vector.h"
#include "Ray.h"

struct poly
{
    double a, b, c;
};

struct Center
{
	CVector Position;
	CMaterial Material;
};


class MetaGroup : public CRenderableObject
{
public:
	MetaGroup(void){}
	~MetaGroup(void){}

	double	Radius;
	std::vector<Center> Centers;
	
	virtual double	HitDistance(const CRay &Ray);
	virtual void	GetNormal(const CVector &ImpactPoint,CRay &NormalRay);
	virtual void	CausticRayLister(const CVector &Source,std::vector<CRay> &RayList) {}
	virtual bool	OverlapBox(const CVector &boxcenter,const CVector &boxhalfsize) {return false;}
	virtual ObjectType GetType(){return METAOBJECT;}
	virtual void	GetMaterial(const CVector &ImpactPoint, CMaterial &_Material);


};